#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/stat.h>
#include<unistd.h>
#include<sys/types.h>
#include<dirent.h>
#include<fcntl.h>
#include<sys/mman.h>
#include<sys/wait.h>
#include<signal.h>
#include<pthread.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<sys/select.h>
#include<sys/time.h>
#include<sys/epoll.h>

#define ARGS_CHECK(argc,n){ \
    if(argc!=n){ \
        fprintf(stderr, "args error: expected %d arguments\n",n);\
        exit(1);\
    }\
}

#define ERROR_CHECK(retVal, val, msg){\
    if (retVal == val){\
        perror(msg);\
        exit(1);\
    }\
}

void splitChar(char *from, char *operate, char *operand);  //空格分隔字符串，第一个参数为原字符串 后两个参数为分割后的字符串

void mkDir(char *filename, int fd); 
